
// 定义一个装饰器函数
function simpleDecorator(target) {
  // 对目标类或方法进行一些简单操作，比如添加日志输出
  console.log(`Decorating ${target.name}`);

  // 返回原目标，保持其原有功能不变
  return target;
}

// 使用装饰器来装饰一个类
@simpleDecorator
class MyClass {
  constructor(name) {
    this.name = name;
  }

  sayHello() {
    console.log(`Hello from ${this.name}`);
  }
}

// 使用装饰器来装饰一个方法
class AnotherClass {
  @simpleDecorator
  methodToDecorate() {
    console.log('Method decorated and called');
  }
}